自動化測試是維護專案健康的重要工作,不只是能在開發、重構、維修時提供安全感以外,測試本身也是一份「需求文件」,對合作的或後需接手的工程師來說,閱讀一個完整且能順利完成的測試,可能是比閱讀文謅謅的文件更好理解的。
而測試是有區分等級的,前面提到的 Unit test 屬於最底層的測試,也是專案健康的基礎。
Unit test 會把範圍聚焦在 function 上,著重於正確的 in-out 檢查,而前面介紹搭配上 Testing Library 進行的組件測試,雖然也是歸類在 Unit test,因為「組件」也確實是目前前端專案中最基礎的零件之一。
但在我的觀點中其實組件測試更偏向於 Integation test,因為其實也有許多組件是需要依賴外部的狀態與 API 的。
可以用這張圖片來幫助理解不同等級的測試:
source: https://www.simform.com/blog/microservice-testing-strategies/